using System;
using System.ComponentModel;
using System.Diagnostics;


namespace SIS.ENT
{


    public class SubjectTable
    {

        #region "Private Variables"
        private int _subjectKey;
        private int _schoolKey;
        private int _schoolMajorKey;
        private int _standardLevelKey;
        private string _subjectCode;
        private string _subjectName;
        private string _description;
        private bool _status;
        private DateTime _createdDateTime = DateTime.MinValue;
        private DateTime _modifiedDateTime = DateTime.MinValue;
        private CourseDetailTableList _courseDetailTables = new CourseDetailTableList();

        #endregion

        #region "Public Properties"
        /// <summary>
        /// Gets or sets the SubjectKey of the SubjectTable.
        /// </summary>
        [DataObjectFieldAttribute(true, true, false)]
        public int SubjectKey
        {
            get
            {
                return _subjectKey;
            }
            set
            {
                _subjectKey = value;
            }
        }

        /// <summary>
        /// Gets or sets the SchoolKey of the SubjectTable.
        /// </summary>
        public int SchoolKey
        {
            get
            {
                return _schoolKey;
            }
            set
            {
                _schoolKey = value;
            }
        }

        /// <summary>
        /// Gets or sets the SchoolMajorKey of the SubjectTable.
        /// </summary>
        public int SchoolMajorKey
        {
            get
            {
                return _schoolMajorKey;
            }
            set
            {
                _schoolMajorKey = value;
            }
        }
        /// <summary>
        /// Gets or sets the StandardKey of the SubjectTable.
        /// </summary>
        [DataObjectFieldAttribute(true, true, false)]
        public int StandardLevelKey
        {
            get
            {
                return _standardLevelKey;
            }
            set
            {
                _standardLevelKey = value;
            }
        }

        /// <summary>
        /// Gets or sets the SubjectCode of the SubjectTable.
        /// </summary>
        public string SubjectCode
        {
            get
            {
                return _subjectCode;
            }
            set
            {
                _subjectCode = value;
            }
        }
        /// <summary>
        /// Gets or sets the SubjectName of the SubjectTable.
        /// </summary>
        public string SubjectName
        {
            get
            {
                return _subjectName;
            }
            set
            {
                _subjectName = value;
            }
        }
        /// <summary>
        /// Gets or sets the Description of the SubjectTable.
        /// </summary>
        public string Description
        {
            get
            {
                return _description;
            }
            set
            {
                _description = value;
            }
        }
        /// <summary>
        /// Gets or sets the Status of the SubjectTable.
        /// </summary>
        public bool Status
        {
            get
            {
                return _status;
            }
            set
            {
                _status = value;
            }
        }
        /// <summary>
        /// Gets or sets the CreatedDateTime of the SubjectTable.
        /// </summary>
        public DateTime CreatedDateTime
        {
            get
            {
                return _createdDateTime;
            }
            set
            {
                _createdDateTime = value;
            }
        }
        /// <summary>
        /// Gets or sets the ModifiedDateTime of the SubjectTable.
        /// </summary>
        public DateTime ModifiedDateTime
        {
            get
            {
                return _modifiedDateTime;
            }
            set
            {
                _modifiedDateTime = value;
            }
        }
        /// <summary>
        ///Gets or sets a collection of <see cref="CourseDetailTable" /> instances for the SubjectTable.
        /// </summary>

        public CourseDetailTableList courseDetailTables
        {
            get
            {
                return _courseDetailTables;
            }
            set
            {
                _courseDetailTables = value;
            }
        }

        #endregion

    }
}
